﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
//using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using System.IO;
using System.Configuration;


namespace ServicioActualizaciones
{
    public partial class Service1 : ServiceBase
    {
        private static System.Timers.Timer aTimer;
        private static Manager m;
       
        public Service1()
        {
            InitializeComponent();
            aTimer = new System.Timers.Timer(double.Parse(ConfigurationManager.AppSettings["IntervaloTimer"]));
            aTimer.Elapsed += new ElapsedEventHandler(ActualizarDatos);
            m = new Manager(ConfigurationManager.ConnectionStrings["StrConexionServidor"].ConnectionString);
          
        }

        protected override void OnStart(string[] args)
        {
            aTimer.Enabled = true;
        }

        protected override void OnStop()
        {
            //aTimer.Stop();
            aTimer.Enabled = false;
        }

        protected override void OnPause()
        {
            //aTimer.Stop();
            aTimer.Enabled = false;
        }

        private static void ActualizarDatos(object source, ElapsedEventArgs e)
        {
           actualizarIndicadores();
           actualizarGraficos();
        }
       
        private static void actualizarIndicadores()
        {
            DataSet datos = m.ObtenerIndicadoresParaActualizar();
            foreach (DataRow i in datos.Tables[0].Rows)
            {
                m.ActualizarDatosIndicador(i);
            }
        }

        private static void actualizarGraficos()
        {
            DataSet datos = m.GetGraficosParaActualizar();
            foreach (DataRow i in datos.Tables[0].Rows)
            {
                m.ActualizarDatosGraf(i);
            }
       }

    }
}
